윈도우 환경에서 python-pip 패키지 에러날 때


문제 발생

이전에 진행했던 프로젝트에서 파이썬 버전이 3.7이었고, venv 가상환경을 구축해서 필요한 패키지들을 import해 프로젝트를 진행했었다.

프로젝트는 장고를 이용한 웹 서비스 구축이었는데, 프로젝트를 정리하려고 python manage.py runserver 를 했더니 수 많은 오류들이 발생했는데 그 이유가 몇일 전에 컴퓨터를 정리하기 위해 파이썬3.7 버전을 삭제했던 것!

그리고 남아있는 파이썬 버전은 3.8 버전이었다.

그래도 다행이었던 점은 venv에서 필요한 패키지들을 관리하고 있었기 때문에

pip freeze > requirement.txt

위의 명령어로 필요한 패키지들을 쉽게 한 곳에 모아 설치하기는 간편하다는 것이다.

하지만 아무리 그래도 파이썬 버전이 엄연히 다르기 때문에 패키지들도 해당 파이썬 버전에 맞도록 지원을 해줄지는 모르는 상태라 안심할 순 없었다.

어쨌든 걱정 반, 기대 반의 마음으로 새로운 파이썬 버전으로 필요한 패키지 설치를 진행해보았다.

pip install -r requirement.txt

위의 명령어 실행결과 왠만한건 정상적으로 설치되었지만 mysqlclient 패키지가 문제였다!

mysqlclient를 구글에 검색해보니 많은 윈도우 사용자들이 같은 문제를 겪었는지 다행히도 자료는 많았다.

설치를 하였을 때 처음 화면에 나온 에러내용은 window visual 14.x C 패키지를 설치해야 한다는 것이다.

mysqlclient에 필요한 의존성 패키지인거 같은데 검색해 윈도우 페이지에서 파일을 다운받아 설치하고 이 문제는 쉽게 해결되었다.

해결방안

pip 명령어로 패키지를 설치할 때 나온 에러

mysql.c

    _mysql.c(29): fatal error C1083: 포함 파일을 열 수 없습니다. 'mysql.h': No such file or directory

    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Tools\\MSVC\\14.15.26726\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2

해당 에러가 난다면 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient.Then 사이트로 들어가서 윈도우용 파이썬 바이너리 파일을 다운 받아 해당 바이너리 파일 자체를 pip 명령어로 install 해주면 된다.

  1. 필요한 패키지와 파이썬의 버전, 32bit or 64bit 를 찾아낸 뒤 다운로드
  2. pip install 해당파일

바이너리로 이루어진 파일이기 때문에 오류 없이 성공적으로 패키지가 다운되었다.

Reference

https://lemontia.tistory.com/756


위로 올라가기💨

Hello, I'm@nickhealthy
개발자를 꿈꾸고, 파이썬과 클라우드에 관심이 많은 비전공자

Github